Quickstart Flutter
Este guia ajudará você a implementar o SDK do Group Link em sua aplicação escrita para o framework Flutter.
Requisitos
- Software necessário:
- IDE (VSCode ou Android Studio)
- Ambiente Flutter
Passo 1 - Obtendo o SDK
Para obter nosso plugin Flutter, execute o seguinte comando no diretório raiz do seu projeto a partir do terminal na raiz do seu projeto Flutter.
flutter pub add flutter_grouplink_sdk
(Opcional) Resolvendo arquivos ausentes para builds.
Adicione o repositório JitPack ao seu arquivo de build. Adicione-o no seu build.gradle raiz no final dos repositórios:
repositories {
google()
mavenCentral()
...
...
//ADICIONAR repositório Jitpack
maven { url "https://jitpack.io" }
}
Passo 2 - Importando o SDK
Em seguida, importe nosso SDK no arquivo main.dart para acessar todas as funções do SDK. Abaixo está um exemplo para referência.
import 'package:flutter_grouplink_sdk/flutter_grouplink_sdk.dart';
Passo 3 - Configurando as especificidades da plataforma
Especificidades do iOS
Para garantir o funcionamento adequado do plugin em dispositivos iOS, você precisa inserir strings específicas no arquivo info.plist da sua aplicação. Essas strings estão relacionadas a permissões e capacidades do aplicativo. Você pode encontrar instruções detalhadas sobre como inseri-las consultando a documentação Permissões Necessárias para iOS.
Passo 4 - Chamando as funções do SDK
Iniciando o SDK do Group Link
Agora que você instalou e importou corretamente o plugin do SDK, basta chamar as funções Flutter no seu arquivo main.dart. Recomendamos inicializar o SDK do Group Link no início da sua aplicação na função void main() da sua aplicação, após o runApp, ou no initState. Além disso, é recomendado utilizar o await. Abaixo está outro exemplo de como iniciar o SDK do Group Link. Para o iOS, você precisará instanciar o GroupLinkSDKPlugin:
final _flutterGrouplinkSdkPlugin = GroupLinkSDKPlugin();
E, após isso, chamar o StartSDK:
_flutterGrouplinkSdkPlugin.StartSDK(TOKEN);
void main() async {
// ...
runApp(const MyApp());
// Iniciando o SDK do Group Link
await _flutterGrouplinkSdkPlugin.startSDK("GROUP_LINK_TOKEN");
}
Solicitando permissões de Bluetooth e Localização
Se o seu aplicativo não solicitar permissões de Bluetooth ou Localização, o SDK do Group Link pode lidar com esse processo para você. No entanto, ainda é necessário pedir ao usuário essas permissões para que o SDK funcione corretamente. Você pode iniciar esse processo chamando as funções startBluetooth()
, startLocation()
.
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// ...
runApp(const MyApp());
// Iniciando o SDK do Group Link
await _flutterGrouplinkSdkPlugin.startSDK("GROUP_LINK_TOKEN");
// Solicitando a permissão de Bluetooth e localização do usuário;
await _flutterGrouplinkSdkPlugin.startBluetooth();
await _flutterGrouplinkSdkPlugin.startLocation();
}
Se preferir, pode ser criada uma nova classe, contendo os métodos que serão utilizados, e chama-lo após o runApp
, ou no initState
.
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// ...
runApp(const MyApp());
// Chamando classe que contém os métodos do SDK Flutter da Group Link
_flutterGroupLinkSdkMethods();
}
void _flutterGroupLinkSdkMethods() async {
// Iniciando o SDK do Group Link
await _flutterGrouplinkSdkPlugin.startSDK("GROUP_LINK_TOKEN");
// Solicitando a permissão de Bluetooth e localização do usuário;
await _flutterGrouplinkSdkPlugin.startBluetooth();
await _flutterGrouplinkSdkPlugin.startLocation();
}
Ou
@override
void initState() {
super.initState();
// Chamando classe que contém os métodos
_sdkMethods();
}
void _flutterGroupLinkSdkMethods() async {
// Iniciando o SDK do Group Link
await _flutterGrouplinkSdkPlugin.startSDK("GROUP_LINK_TOKEN");
// Solicitando a permissão de Bluetooth e localização do usuário;
await _flutterGrouplinkSdkPlugin.startBluetooth();
await _flutterGrouplinkSdkPlugin.startLocation();
}
Acessando o usuário pelo userID
O userID
é uma String opcional identificadora, única a cada usuário da rede Group Link. Ao usar esse IF, você pode identificar quando um usuário específico está próximo de um dos seus dispositivos.
void main() async {
// Acessando a rede Group Link pelo userID;
String? userID = await GroupLinkSDKPlugin().getUserId();
runApp(const MyApp());
}
Etapa 5 - Configurando o recurso de Notificações Push
Para utilizar nossas notificações personalizadas no painel, você precisa chamar a função GroupLinkSDKPlugin().setNotificationToken
. Esta função espera um parâmetro String, que representa o token de notificação do usuário. No iOS, esse token é fornecido pelo APNS (Apple Push Notification Service), enquanto no Android, é obtido pelo Firebase Cloud Messaging.
Para recuperar esse token, você pode usar o plugin Firebase Messaging para Flutter e invocar o método getToken
. Aqui está um exemplo para orientá-lo:
Android
void main() async {
FirebaseMessaging.instance.getToken().then((value) {
if (value != null) {
GroupLinkSDKPlugin().setNotificationToken(value);
}
});
runApp(const MyApp());
}
iOS
void main() async {
FirebaseMessaging.instance.getAPNSToken().then((value) => {
if (value != null) {
GroupLinkSDKPlugin().setNotificationToken(value);
}
});
runApp(const MyApp());
}
Além disso, você também pode configurar nossas KPIs de notificações. No entanto, esteja atento que essa funcionalidade está disponível atualmente apenas para implementação nativa. Para iOS, você pode consultar o tutorial Notificações Push para iOS para saber como configurar a Extensão do Serviço de Notificação, que permitirá integrar e configurar as KPIs de notificações.
Nós recomendamos que seja executado flutter clean e flutter pub get após cada alteração envolvendo o SDK Flutter da Group Link.
Agora com o SDK do Group Link em sua aplicação, utilize seus recursos de forma integrada.